//拦截所有请求,添加路径前缀
axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'

//设置请求拦截器,配置 token认证
axios.interceptors.request.use(function (config) {   //*
    // 打印 config参数
    // console.log(config);
    //判断路径中,是否包含/api 或者 /my
    //或者>=0 或者 !== -1 或者>-1 都说明查到了
    if (config.url.indexOf('/my') != -1) { //*
        //这样赋值,不会影响原来的头信息设置
        //所有头信息的设置,不要使用对象赋值,要使用,属性,不会出现覆盖
        config.headers.Authorization = localStorage.getItem('token')   //*
    }
    //修改完毕的config需要返回
    return config

}, function (error) {
    //将来讲解Promise对象,详细讲解
    return Promise.reject(error)
})
//设置响应拦截器- 没有登录或者token失效,都要前置跳转到登录页
axios.interceptors.response.use(function (response) {  //*
    //添加逻辑-判断响应信息,如果是:'身份认证失败'就强制跳转
    if (response.data.status == 1 && response.data.message === '身份认证失败！') {
        //跳转到登录页
        location.href = '/login.html'
    }
    //返回信息必须要写在外面
    return response
}, function (error) {
    return Promise.reject(error)

})
function formatDate(str) {
    let dt = new Date(str)
    let y = dt.getFullYear()
    let m = padZero(dt.getMonth() + 1)
    let d = padZero(dt.getDate())

    let hh = padZero(dt.getHours())
    let mm = padZero(dt.getMinutes())
    let ss = padZero(dt.getSeconds())

    return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
    function padZero(n) {
        return n < 10 ? '0' + n : n;
    }
}